package com.newtouch.bxzs.database.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.newtouch.bxzs.database.model.bo.PositionDetailBO;
import com.newtouch.bxzs.database.model.bo.PositionListBO;
import com.newtouch.bxzs.database.model.vo.GetPositionListVO;
import com.newtouch.bxzs.database.model.vo.UpdatePositionStateVO;
import com.newtouch.bxzs.database.model.vo.UpdatePositionVO;

import java.util.List;

/**
 * 岗位Service接口:
 *
 * <p>
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2021/1/5 13:57</td>
 * <td>tianshangzhu</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author tianshangzhu
 * @version 1.0.0
 * @since 1.0.0
 */
public interface PositionService {
    /**
     * 查询岗位列表信息
     * @param getPositionListVO 参数
     * @return IPage<PositionListBO> 分页结果
     */
    IPage<PositionListBO> getPositionList(GetPositionListVO getPositionListVO);

    /**
     * 查询岗位详情信息
     * @param positionId 岗位id
     * @return PositionDetailBO
     */
    PositionDetailBO getPositionDetail(String positionId);

    /**
     * 添加/修改岗位信息
     * @param updatePositionVO 参数
     */
    void updatePosition(UpdatePositionVO updatePositionVO);

    /**
     * 修改岗位状态
     * @param updatePositionStateVo 参数
     */
    void updateState(UpdatePositionStateVO updatePositionStateVo);

    /**
     * 删除岗位信息
     * @param positionIdList 岗位id
     */
    void deletePosition(List<String> positionIdList);
}
